\documentclass[12pt,a4paper]{article}

\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage[british,swedish]{babel}
\usepackage{amsmath}
\usepackage{ae}
\usepackage{units}
\usepackage{icomma}
\usepackage{color}
\usepackage{graphicx}
\usepackage{bbm}

\begin{document}

\selectlanguage{swedish}

\title{Äldrevården}
\author{Andrea Buchholz \and Joakim Karlsson \and Richard Sundqvist \and Gustav Vidhög}
\date{\today}
\maketitle

\thispagestyle{empty}

\newpage

\setcounter{page}{1}
\pagenumbering{roman}

\begin{abstract}
TODO
\end{abstract}

\selectlanguage{british}

\begin{abstract}
TODO
\end{abstract}

\selectlanguage{swedish}

\newpage

\tableofcontents

\newpage

\setcounter{page}{1}
\pagenumbering{arabic}

\section{Introuktion}

Detta dokument diskuterar i huvudsak projektets olika delar och motiverar en del av de val vi tagit. Vårt projekt är lite unikt i den meningen att slutprodukten (ramverket) riktar sig till andra programmerare, inte en lekman. Detta reflekteras även i texten som kan bli av en mer teknisk natur än man annars kanske väntat sig.

Även ett prototypspel som skall demonstrera vad ramverket förmår ingår i projektet, och en stor del av utvecklingsarbetet kommer att gå åt till detta. Fokus ligger dock på själva ramverket, särskilt i den tillhörande dokumentationen.

\subsection{Bakgrund}

Plattformssspel som genre uppkom i början av 1980-talet och dominerade arkad- och konsolspelmarknaden i ett tjugotal år framöver. Populära spelserier som Super Mario Bros och Sonic the Hedgehog har kodifierat genren och kvarstår idag bland de i särklass mest igenkända och omtyckta varumärken som någonsin skapats i spelindustrin. Även idag publiceras ett flertal relativt framgångsrika tvådimensionella plattformsspel varje månad genom plattformar som Steam, även om genren sedan länge förlorat sin marknadsledande status.

% Källor

\subsection{Syfte}

Detta projekts syfte är tvådelat. Dels ska ett ramverk definieras med vilket utvecklare kan skapa relativt simpla tvådimensionella spel som hanterar rörliga objekt. Utöver att förse grundläggande struktur för sådana spel innehåller ramverket funktionalitet för detektion samt hantering av kollisioner mellan objekt. Ramverket avses vara så generellt som möjligt, men primärt fokus ligger på plattformsspelgenren.

Dels ska ett prototypplattformsspel som belyser ramverkets funktionalitet utvecklas, riktat till slutanvändare snarare är utvecklare.

\subsection{Avgränsningar}

Ett antal avgränsningar av projektets omfattning har gjorts. Att ramverket endast avses hantera tvådimensionella system är en sådan. Vidare betraktas endast spel för en spelare i taget på en virtuell maskin, utan hänsyn tagen till möjligheten för implementation av spel för flera spelare på olika virtuella maskiner på ett nätverk som kommunicerar sinsemellan.

I hanteringen av rörliga objekt behandlas endast stela kroppar som kan translatera men inte rotera. Detta medför en del beteenden för kollisionshantering som inte är konsistenta med klassisk stelkroppsmekanik.

\subsection{Disposition}

Rapportens disposition reflekterar projektets tvådelade natur. Det inledande delen syftar till att presentera och inrama projektet. Därefter följer den del som beskriver projektmetodiken och de designprinciper som styrt utvecklingsarbetet. Rapportens huvuddel är delad i två delar, för ramverket respektive för prototypspelet, som var och en behandlar en rad viktiga delproblem, med beskrivning av vald lösning och i föreliggande fall redogörelse för teoretiskt underlag. Den avslutande delen presenterar och sammanfattar resultatet, samt diskuterar hur väl projektet uppnått sina mål och vilka möjligheter som finns för vidare utveckling som skulle kunna göra projektet mer fullständigt.

\subsection{Beteckningar}

TODO

\section{Metod}

TODO

\subsection{Iterativ projektmodell}

Vi har arbetat efter en agil iterativ processmodell bestående av fyra olika faser. Med iterativ processmodell menas att man snabbt implementerar en första version av en funktionalitet och sedan utvärderar den för att upptäcka problem eller förbättringar. 

De två första faserna fokuserar på själva modellerandet av produkten och de senare på implementation av modellen. Under fas 1, ''Requirement elicitation'' (kravspecifikation), så samlas funktionalitetskrav in från den tänkta kunden, här simulerad av gruppen själv, och vi tar reda på vad kunden förväntar sig av en specifik funktionalitet. Detta sammanställs sedan till ''Use cases'' som används under fas 2; ''Analysen''.

Här beskrivs, med hjälp av UML-klassdiagram och sekvensdiagram, hur de krav som fångades upp under kravspecifikationen skall implementeras i vår produkt. Under de återstående faserna ''Design'' samt ''Implementation'' så implementeras en första version av vår ''Analysmodell'' vilken vi sedan iterativt reviderar och lägger till ny funktionalitet på.

Den iterativa arbetsmodellen appliceras alltså inte enbart över implementationsfaserna utan även Analysmodellen revideras och utvidgas under dess framtagande.

% Källor
% Föreläsningsslides Lect 1
% Alistair Cockburn Maj 2008, Using Both Incremental and Iterative Development, http://www.crosstalkonline.org/storage/issue-archives/2008/200805/200805-Cockburn.pdf#

\subsection{Test-Driven Design}

TODO

\subsection{Språk och externa bibliotek}

TODO

\subsection{Versionshantering}

Versionshantering sköts uteslutande i Git. Projektfilerna hostas på Google Projects:
https://code.google.com/p/tda367/

\section{Ramverk}

TODO

\subsection{Model-View-Control}

TODO

\subsection{Synkron uppdateringsloop}

TODO

\subsection{Objekt och kollisionshantering}

TODO

\section{Prototypspel}

TODO

\subsection{Grundläggande funktionalitet}

TODO

\subsection{Grafik}

TODO

\section{Resultat}

TODO

\subsection{Ramverk}

TODO

\subsection{Prototyp}

TODO

\subsection{Diskussion och slutsats}

TODO

\subsection{Fortsatt utveckling}

TODO

%\begin{thebibliography}
%
%\bibitem{referens} Referenstext
%
%\end{thebibliography}

\end{document}
